It will be appreciated that in the field of creating, managing and delivering 3D virtual reality environments there is a requirement for the storage of these environments, presently in files. When one wishes to work on a section of the virtual reality environment, or when one wishes to transmit a different version of the virtual reality environment, or, in short, when one wants to do any manipulation or delivery of the environment, it usually requires the storing, transmission and downloading of a large file.
There are various issues regarding such manipulation, creation and delivery of a 3D virtual reality file when one seeks to do these operations in real time on the Internet. The problem areas involve such things as persistence, scalability, security, multi-edit capability, multi-resolution problems, multi-format requirements and version control.
Taking persistence, persistence refers to the ability to maintain a change in the 3D virtual environment once a change has been made. Note that changes can be saved if one rewrites the entire file. This is so prohibitive that most systems do not allow permanent changes made in a browser-only in authoring tools. For instance, taking a VMRL file, it is oftentimes desirable to be able to change only a portion of the file without loading and saving the entire file. It will be appreciated that VMRL refers to Virtual Reality Modeling Language, which is a file format for the content of the 3D virtual reality environment. Note that in order to change a single item in the file, one must read and then save the entire file. Typically, a VMRL file may be as large as 10 megabytes, thus making it difficult to make even small changes.
With respect to scalability involving the increasing of the size of the 3D virtual environment, it is only with difficulty that prior art file systems can be provided with such capability. This is because most of the information is stored in a single file, or at most, a few files. In order to scale up a virtual reality environment, the few files must be increased to ever and ever larger proportions, again providing an unwieldy and time consuming way of handling virtual reality files. In addition, even using the capability of VRML to separate the larger file into smaller files, this presents new problems concerning the management of many, many small files in the file system and presents many new opportunities for error or loss.
With respect to security, it will be appreciated that providing a security code for a single file gives access to the entire file to each one of the users who may be seeking to edit the file. There is therefore no present ability to provide access only to a small portion of the file which is in need of editing, while at the same time locking out the remainder of the file.
Moreover, it is only with great difficulty that one can divide up the file into that which is authorized to be seen and that which is not, thus to allow one individual to edit only a portion of the file.
As a result, the ability to have a multi-edit function in which users are allowed to edit the portions of the virtual reality environment in parallel is not possible given the current state of providing the virtual reality environment as a single file. Moreover, there is no capability with a single file system to provide multiple resolutions for the 3D virtual reality environment. The multiple resolutions are useful in being able to match the output file to the machine which is to receive it. For instance, certain high end machines have the ability to display a detailed texture of a graphical object, whereas others do not. Moreover, the ability to draw polygons, one of the prime elements in 3D graphical rendering, varies from machine to machine. There is no way currently to be able to provide a file having a single content with differing resolutions since the entire file must be altered for the particular resolution required. Likewise, when using a single file to record the 3D virtual environment there is no ability to provide the same content on multiple platforms, e.g. no crossplatform capability. The single file approach to the storage of virtual reality environments precludes multiple formats in which the same content can be provided in differing formats.
Finally, with the utilization of a single file for the virtual reality environment, there is no possibility of version control without complete duplication of the original file. Thus, for instance, if there is to be a few byte change in a 10 megabyte file, in order to change the version, one might be left with two 10 megabyte files.
In summary, the above problems in the creation, management and delivery of 3D virtual environments denies present systems the ability to handle multiple authors on multiple platforms. There is therefore a need for a system to deliver content to diverse hardware machines having differing capabilities. Moreover, it is important to make sure that only invited guests have access to the content, while at the same time being able to allow the virtual environment to grow without bounds.
Finally, how one can make the 3D environments persistent and modifiable over time allowing authors to take and release control over the object in the environment at will is a perplexing problem, when realizing that the virtual environment is stored on a single file.